//
//  BaseTableViewController.swift
//  Sinaweibo
//
//  Created by 谌桃 on 15/11/28.
//  Copyright © 2015年 ryan.chen. All rights reserved.
//

import UIKit

class BaseTableViewController: UITableViewController {

     var visitorLoginView:VisitorView?
    
    //定义属性, 记录用户是否登录, 不能定义成let不可变, 也不能放在loadView里面, 最好放在外面
     var userLogin = UserAccountViewModel().userLogin
    
    override func loadView() {
        
        //定义一个标记, 通过标记判断用访客视图 还是 已经登录的视图
        
        //三目运算符
        userLogin ?  super.loadView():setVisitorView()

    }
    
    
    private func setVisitorView(){
    
        visitorLoginView = VisitorView()
        
        //将创建的View设置给 系统的View
        self.view = visitorLoginView
        
        //给导航控制器添加item
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登录", style: .Plain, target: self, action: "willViewLogin")
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .Plain, target: self, action: "willViewRegister")
        
        print(self.view)
    }
    
    //登录
    func willViewLogin(){
    
        print(__FUNCTION__)
        let OAuth = OAuthViewController()
        
        let nav = UINavigationController(rootViewController: OAuth)
        
        presentViewController(nav, animated: true, completion: nil)
    }
    
    //注册
    func willViewRegister(){
    
        print(__FUNCTION__)
    }
    
    /*
    //这个系统方法会自动调用 自动设置View的frame, 所以loadView不需要设置frame
    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        print(self.view)
    }
    */
    
    override func viewDidLoad() {
        super.viewDidLoad()

      
    }

    // MARK: - Table view data source

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }

}
